The present invention relates to an information processing system, an information processing method, an information recording medium, and a program distributing medium, and particularly, to a system and a method for distributing an encryption processing key in a system involving encryption processing. Particularly, the invention relates to an information processing system, an information processing method, an information recording medium, and a program distributing medium, which uses a tree-structured hierarchical key distributing system, reconstructs a hierarchical key distributing tree according to a distributing device to reduce the amount of data contained in a distributing key block to thereby reduce distributing message size, relieve loads of a content key distribution or data distribution when various keys are renewed, and provide data safely.
Recently, various software data (which will be hereinafter called contents) such as game programs, voice data, image data, and so on have been actively circulated through a network such as an internet, or storage media capable of being circulated such as a DVD, CD, etc. These contents are reproducible by a PC (Personal Computer), or by mounting a memory medium, or are stored in a recording device within a recording and reproducing apparatus attached to a PC and the like.
Information apparatuses such as a video game apparatus, PC and the like, have an interface for receiving the contents from a network or for getting access to a DVD, CD and the like, and further have control means necessary for reproducing the contents, along with RAM, ROM and the like used as a memory region for programs and data.
A user can reproduce various contents such as music data, image data, or programs through the information apparatuses or a display, a speaker and the like connected thereto.
Contents, such as game programs, music data, image data and the like, are generally held in their distribution rights by owners and sales agents. Accordingly, in distribution of these contents, there is a predetermined use limitation, that is, the use of contents is granted only to proper users so that reproduction without permission is not allowed.
One procedure for limiting use to authorized users is through encryption processing. For example, various contents such as voice data, image data, game programs and the like are encrypted prior to distribution, and means for decrypting the encrypted contents, that is a decryption key, is given only to persons confirmed to be a proper user.
Data encryption and decryption using keys is well known.
There are a variety of data encrypting and decrypting methods using an encryption key and a decryption key, but there is, as one example therefor, a system called a “common key encryption system.” In the common key encryption system, an encryption key and a decryption key are made to be common. The common key (content key) is given to a proper user so as to eliminate data access by an invalid user. An illustration of a common key system is DES (Data Encryption Standard).
The encryption key and the decryption key as described above can be obtained by applying a unidirectional function such as a hash function on the basis of a pass-word or the like, for example. As used herein, a unidirectional function is a function from which it is very difficult to obtain an input conversely from an output. For example, a pass-word (determined by a user) is used as an input to the unidirectional function, and the encryption key and the decryption key are produced on the basis of the output. It is nearly impossible, from the encryption key and the decryption key thus obtained, to conversely obtain the pass-word.
Another type of system is the “public key encryption system.” The public key encryption system user, a public key for encryption. The document encrypted by the public key can be subjected to decrypting by a private key corresponding to the public key. The private key is owned by the individual who issued the public key, and the document encrypted by the public key can be decrypted by the individual having the private key (content key). A typical public key encryption system is RSA (Rivest-Shamir-Adleman) encryption. As such, it is possible to provide a system for enabling decryption of encrypted contents only by a proper user.
In the content distributing systems as described above, contents are encrypted to provide them to users, and a content key is provided for decrypting the encrypted contents for use by a proper user. There is proposed a variation in which a content key for preventing invalid copies of the content key itself is encrypted before being provided to the proper user, and the encrypted content key is decrypted using a decryption key owned only by the proper user.
The judgment whether or not a user is proper is generally carried out by executing authenticating processing before distribution of contents or content keys, for example, between a content provider who is a transmitter of contents and a user's device. In general authenticating processing, confirmation is made of a mating party, and a session key effective only for communication is produced. When authentication is established, data, for example, contents or a content key, is encrypted using the produced session key for communication. The authenticating system includes mutual authentication using a common key encryption system, and an authentication system using a public key system. In the authentication using a common key, the common key must be available system wide which is inconvenient at the time of renewal processing. Further, in the public key system, the computation load is large along with requiring larger amounts of memory. The provisioning of such a processing means on each device is not desirable.